package org.yelongframework.image.graphics;

import java.awt.Color;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * 图片图形支持。可以再图片添加矩阵，对图片进行再次画图等功能。
 * 
 * @since 1.0.0
 */
public interface ImageGraphicsSupport {

	// ==================================================画矩阵==================================================

	/**
	 * 对图片某区域画一个矩阵
	 * 
	 * @param inputStream  被画矩阵的图片流
	 * @param x            矩阵起始x轴位置
	 * @param y            矩阵起始y轴位置
	 * @param width        矩阵的宽度
	 * @param height       矩阵的高度
	 * @param color        矩阵线的颜色
	 * @param outputStream 画完矩阵后输出到的流
	 * @return 画完矩阵后输出到的流
	 * @throws IOException 流异常
	 */
	OutputStream drawRect(InputStream inputStream, int x, int y, int width, int height, Color color,
			OutputStream outputStream) throws IOException;

	/**
	 * 对图片某区域画一个矩阵
	 * 
	 * @param inputStream  被画矩阵的图片流
	 * @param x            矩阵起始x轴位置
	 * @param y            矩阵起始y轴位置
	 * @param width        矩阵的宽度
	 * @param height       矩阵的高度
	 * @param color        矩阵线的颜色
	 * @param imageType    图片类型
	 * @param outputStream 画完矩阵后输出到的流
	 * @return 画完矩阵后输出到的流
	 * @throws IOException 流异常
	 */
	OutputStream drawRect(InputStream inputStream, int x, int y, int width, int height, Color color, String imageType,
			OutputStream outputStream) throws IOException;

}
